package com.demo.money.service;

import com.demo.money.model.Incomedetails;
import com.demo.money.kit.example.IncomedetailsExample;

import java.util.List;

/**
 * IncomedetailsService类<br>
 * 大致说明
 * <p>
 * <b>常用方法</b>：<br>
 * 1.方法名 - 方法说明
 * <p>
 * <b>私有方法</b>：<br>
 * 1.方法名 - 方法说明
 * <p>
 * <b>全类名</b>:com.demo.money.service<br>
 * <b>类名</b>:IncomedetailsService<br>
 * <b>创建者</b>:张峰浦<br>
 * <b>创建时间</b>:2020/3/18 20:00<br>
 */
public interface IncomedetailsService {
    /**
     * 综合查询
     *
     * @param example 查询条件
     * @return 查询结果
     */
    List<Incomedetails> selectByExample(IncomedetailsExample example);

    /**
     * 综合查询
     *
     * @param userId     用户id - 等于
     * @param startTime  起始时间 - 大等于
     * @param endTime    结束时间 - 小等于
     * @param startMoney 最小金额 - 大等于
     * @param endMoney   最大金额 - 小等于
     * @param largeclass 收入来源 - 等于
     * @param subclass   收入原因 - LIKE
     * @param note       备注 - LIKE
     * @return 查询结果
     */
    List<Incomedetails> selectByZhongHe(String userId, String startTime, String endTime, String startMoney, String endMoney, String largeclass, String subclass, String note);

    /**
     * 添加收入信息
     *
     * @param record 待添加的收入信息
     * @return 添加结果
     */
    int insert(Incomedetails record);

    /**
     * 删除一条收入信息
     * @param id 主键
     * @return 删除结果
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 更新收入信息
     *
     * @param record 待更新的收入信息
     * @return 更新结果
     */
    int updateByPrimaryKeySelective(Incomedetails record);

    /**
     * 查询收入信息
     *
     * @param id 主键
     * @return 查询结果
     */
    Incomedetails selectByPrimaryKey(Integer id);
}
